package cn.bugstack.springframework.beans.factory;

/**
 * <p>reference: https://github.com/fuzhengwei/CodeDesignTutorials
 * <p>Interface to be implemented by objects used within a {@link BeanFactory}
 * which are themselves factories. If a bean implements this interface,
 * it is used as a factory for an object to expose, not directly as a bean
 * instance that will be exposed itself.
 *
 * @author Yaxi.Zhang
 * @since 2022/12/19 19:34
 */
public interface FactoryBean<T> {

    T getObject() throws Exception;

    Class<?> getObjectType();

    boolean isSingleton();

}